package firstStage.part9;

import java.util.Scanner;

/**
 * @ClassName: [StringBuilderTest]
 * @Description: 拼接字符串升级版、字符串反转升级版
 * @Author: [黄劲松]
 * @CreateDate: [2021-02-07]
 * @Version: [v1.0]
 */
/*需求:定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法，并在控制台
     输出结果。例如，数组为int[] arr={1,2,3};,执行方法后的输出结果为: [1, 2, 3]
思路:
     ①定义一个int类型的数组，用静态初始化完成数组元素的初始化
     ②定义-个方法，用于把int数组中的数据按照指定格式拼接成一个字符申返回。返回值类型String,参数列表int[] arr
     ③在方法中用StringBuilder按照要求进行拼接，并把结果转成String返回
     ④调用方法，用一个变量接收结果
     ⑤输出结果*/
/*需求:定义一个方法，实现字符串反转。键盘录入一个字符串,调用该方法后，在控制台输出结果，例如，键盘录入abc,输出结果cba
思路:
    ①键盘录入一一个字符串,用Scanner实现
    ②定义一个方法，实现字符串反转。返回值类型String, 参数String s
    ③在方法中用StringBuilder实现字符串的反转，并把结果转成String返回
    ④调用方法，用-个变量接收结果
    ⑤输出结果*/
public class StringBuilderTest {
    public static void main(String[] args) {
        //字符串拼接
        int[] arr = {1, 2, 3, 4};
        String s = arrayToString(arr);
        System.out.println("s：" + s);
        //字符串反转
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入需要反转的字符串：");
        String line = sc.nextLine();
        String line1 = myReverse(line);
        System.out.println("line1：" + line1);
    }

    public static String arrayToString(int[] arr) {
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                sb.append(arr[i]);
            } else {
                sb.append(arr[i]).append(", ");
            }
        }
        sb.append("]");
        String s = sb.toString();
        return s;
    }

    public static String myReverse(String s) {
        StringBuilder sb = new StringBuilder(s);
        sb.reverse();
        String s1 = sb.toString();
        return s1;
    }
}
